﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using SundUnderviser.ModelLayer;

namespace SundUnderviser.DBLayer
{
    public class DBTema
    {
        private  SqlCommand dbCmd = null;

        public DBTema()
        {
        }

        public Tema FindTema(string navn)
        {
            string sql = @"select navn, beskrivelse, modulnr from tema " +
                           " where navn  = '" + navn; 

            Console.WriteLine("sql stmt = " + sql);

           dbCmd = DBConnection.GetDbCommand(sql);

            IDataReader dbReader;
            dbReader = dbCmd.ExecuteReader();

            Tema temaObj;

            if (dbReader.Read())
            {
                try
                {
                    Console.WriteLine("antal felter " + dbReader.FieldCount);
                    temaObj = new Tema();
                    temaObj.Navn = dbReader["navn"].ToString();
                    temaObj.Beskrivelse = dbReader["beskrivelse"].ToString();
                    Modul modulObj = new Modul();
                    modulObj.Modulnr = Convert.ToInt32(dbReader["modulnr"].ToString());
                    temaObj.Modul = modulObj;
                    Console.WriteLine("Tema  objekt oprettet");
                }
                catch (Exception e)
                {
                    Console.WriteLine("Tema objekt ikke oprettet korrekt");
                    temaObj = null;
                }


            }

            else
            {
                temaObj = null;
            }
            dbReader.Close();
            DBConnection.Close();
            return temaObj;
        }


        public List<Tema> GetAllTema(int modulnr)
        {
            List<Tema> returnList = new List<Tema>();
            string sql = "select navn, beskrivelse, modulnr "
                       + " from tema where modulnr = " + modulnr;

            SqlCommand dbCmd = DBConnection.GetDbCommand(sql);

            IDataReader dbReader;
            dbReader = dbCmd.ExecuteReader();

           Tema temaObj;

            while (dbReader.Read())
            {
                
                temaObj = new Tema();
                    temaObj.Navn = dbReader["navn"].ToString();
                    temaObj.Beskrivelse = dbReader["beskrivelse"].ToString();
                    Modul modulObj = new Modul();
                    modulObj.Modulnr = Convert.ToInt32(dbReader["modulnr"].ToString());
                    temaObj.Modul = modulObj;
                returnList.Add(temaObj);
            }
            DBConnection.Close();
            return returnList;

        }
    }
}
